package com.ruoyi.know.mapper;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.know.domain.UserFollow;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserFollowMapper {

    /**
     * 关注用户
     * @param userFollow 关注关系实体
     * @return 插入成功的记录数
     */
    int followUser(UserFollow userFollow);
    /**
     * 取消关注用户
     * @param followerId 关注者 ID
     * @param followedId 被关注者 ID
     * @return 删除成功的记录数
     */
    int unfollowUser(@Param("followerId") int followerId, @Param("followedId") int followedId);
    /**
     * 获取用户的关注列表
     * @param followerId 关注者 ID
     * @return 关注列表
     */
    List<SysUser> getFollowedUsers(@Param("followerId") int followerId, @Param("nickName")String nickName);

    List<SysUser> getNewFollowers(@Param("followedId") int followedId, @Param("nickName")String nickName);

    /**
     * 获取用户是否关注了另一个用户
     */
    int getFocused(@Param("followerId") Long followerId, @Param("followedId")Long followedId);
}
